Hidden biometric setup

ABSTRACT

A method, a device, and a non-transitory storage medium having instructions to invoke a setup of a fingerprint identification service of the user device, wherein the setup automatically sets up the fingerprint identification service without receiving a request from a user to set up the fingerprint identification service, capture, via the fingerprint reader, a fingerprint sample of the user of the user device; store the fingerprint sample; determine whether to generate a fingerprint template; generate the fingerprint template based on a determination to generate the fingerprint template; store the fingerprint template; provide a notification to the user that indicates that the fingerprint identification service can be activated; receive a request to activate the fingerprint identification service from the user; and activate the fingerprint identification service based on the request to activate the fingerprint identification service.

BACKGROUND

A device, such as a mobile device, offers various services andapplications to its user, such as a media service, a communicationservice, a navigation service, a business application, and web browsing.Additionally, users may store personal or sensitive information on thedevice. Accordingly, the device may provide various security servicesthat aid the user in securing information stored on or accessible viathe device. For example, the device may include a biometric-basedsecurity service that allows the device to authenticate the user beforeaccess and use of the device is permitted.

SUMMARY

According to one aspect, a method may comprise invoking, by a userdevice, a setup of a fingerprint identification service of the userdevice, wherein the setup automatically sets up the fingerprintidentification service without receiving a request from a user of theuser device to set up the fingerprint identification service; andwherein the setup may comprise capturing, by the user device, afingerprint sample of the user of the user device; storing, by the userdevice, the fingerprint sample; determining, by the user device, whetherto generate a fingerprint template; generating, by the user device, thefingerprint template based on determining to generate the fingerprinttemplate; storing, by the user device, the fingerprint template;providing, by the user device, a notification to the user that indicatesthat the fingerprint identification service can be activated; receiving,by the user device, from the user, a request to activate the fingerprintidentification service; and activating, by the user device, thefingerprint identification service based on the request to activate thefingerprint identification service.

According to another aspect, a user device may comprise a fingerprintreader; a memory, wherein the memory stores software; and a processor,wherein the processor may be configured to execute the software toinvoke a setup of a fingerprint identification service of the userdevice, wherein the setup automatically sets up the fingerprintidentification service without receiving a request from a user to set upthe fingerprint identification service, and wherein the processor may befurther configured to execute the software to: capture, via thefingerprint reader, a fingerprint sample of the user of the user devicebased on an invocation of the setup; store the fingerprint sample;determine whether to generate a fingerprint template; generate thefingerprint template based on a determination to generate thefingerprint template; store the fingerprint template; provide anotification to the user that indicates that the fingerprintidentification service can be activated; receive a request to activatethe fingerprint identification service from the user; and activate thefingerprint identification service based on the request to activate thefingerprint identification service.

According to yet another aspect, a non-transitory storage medium maystore instructions executable by a processor of a computational device,which when executed, cause the computational device to invoke a setup ofa biometric identification service of the computational device, whereinthe setup automatically sets up the biometric identification servicewithout receiving a request from a user to set up the biometricidentification service; capture a biometric sample of the user of thecomputational device; store the biometric sample; determine whether togenerate a biometric template; generate the biometric template based ona determination to generate the biometric template; store the biometrictemplate; provide a notification to the user that indicates that thebiometric identification service can be activated; receive a request toactivate the biometric identification service from the user; andactivate the biometric identification service based on the request toactivate the biometric identification service.

DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are diagrams illustrating an exemplary user device inwhich exemplary embodiments of hidden fingerprint setup may beimplemented;

FIG. 2A is a diagram illustrating exemplary components of the userdevice depicted in FIGS. 1A and 1B;

FIG. 2B is a diagram illustrating exemplary components of a biometricsystem;

FIGS. 3A-3G are diagrams illustrating an exemplary process pertaining toan embodiment of a hidden fingerprint setup; and

FIG. 4 is a flow diagram illustrating an exemplary process of a hiddenfingerprint setup.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements.

Various security measures can be used to prevent unauthorized access toa device. For example, many types of mobile devices offer lock screensthat require some sort of input (e.g., a password, a PIN, a gesture,etc.) from users in order to use the mobile devices. Additionally, oralternatively, a device may use biometric verification measures toauthenticate users. For example, the device may provide for voiceidentification, fingerprint identification, facial identification, eye(e.g., retinal or iris) identification, etc. Biometric technologies mayalso recognize users based on behavioral characteristics (e.g.,characteristics of user's keystrokes, etc.) and/or other forms ofidentification (e.g., hand geometry, signature, etc.).

Biometric technologies may also mechanisms or software to preventspoofing. By way of example, a fingerprint system may not be fooled by afake fingerprint or an amputated finger. Rather, the fingerprint systemmay include live finger detection in which a live finger must be used.

Typically, the use of biometric verification requires a setup process inwhich biometric data is obtained from the user and stored. A biometricsystem analyzes the biometric data to identify a characteristic or asignature, which may be unique to the user. After completion of thesetup process, the stored biometric data and/or other data stemming fromthe analysis, may be used as a comparative to biometric data and/oranalyzed biometric data obtained from the user when trying tosubsequently use and/or access the device. When the biometric systemdetermines that there is a match between data, the biometric systempermits the user to use or gain access to the device. Otherwise, thebiometric system does not permit the user to use or gain access to thedevice.

Unfortunately, in some cases, users may deem the setup process foractivating a biometric security service as cumbersome, time consuming,and/or an interruptive task. Additionally, the device may offerbiometric verification as an optional service in which the user maychoose or not choose to activate and use. In this regard, the user mayelect to either forego the setup process altogether or continuallyprocrastinate going through the setup process for some period of time.

According to an exemplary embodiment, a user device provides a “hidden”setup process directed towards activating a biometric security service.According to an exemplary implementation, the biometric security serviceincludes a fingerprint identification service (also known in the art asa fingerprint verification or fingerprint authentication). According toother exemplary implementations, the biometric security service may ormay not include the fingerprint identification service. For example, thebiometric security service may include an retinal identificationservice, a voice identification service, and/or other types of securityservices, as mentioned elsewhere herein.

According to an exemplary embodiment, the user device provides a“normal” setup process directed towards activating the biometricsecurity service. In contrast to the “hidden” setup process, the normalsetup process is user-invoked. For example, the user may initiate asetup process (e.g., a wizard setup process, etc.) that allows the userdevice to initialize the biometric security service. By way of furtherexample, the user may wish to activate a fingerprint identificationservice. The normal setup process may prompt the user to provide, amongother things, a fingerprint sample of the user's finger. The normalsetup process may generate a fingerprint template based on one ormultiple fingerprint samples obtained and stored. After completion ofthe normal setup process, the fingerprint identification service can beactivated.

According to an exemplary embodiment, the hidden setup process is notuser-invoked. Rather, the user device automatically initiates the hiddensetup process. According to an exemplary implementation, the hiddensetup process operates as a background process on the user device andsets up the biometric security service. For example, the hidden setupprocess obtains biometric samples and generates a biometric template.According to an exemplary embodiment, the hidden setup process obtains abiometric sample from the user, without the user's knowledge (e.g., in a“hidden” manner), while the user uses the user device. Once the hiddensetup process is completed, the user has the option to activate or notactivate the biometric security service.

According to an exemplary embodiment, the biometric sample includes afingerprint sample. For example, the user device may include a buttonthat the user will normally operate and/or touch (e.g., when handling,holding, or grabbing the user device) when using the user device.According to an exemplary implementation, the button is a power buttonthat turns on and turns off the user device and includes a fingerprintreader. According to other exemplary implementations, a button otherthan a power button includes the fingerprint reader. For example, thebutton may be a camera button, a key of a keyboard, a volume button, orsome other type of button (e.g., a home button, a wakeup button, etc.).Still further, according to other exemplary implementations, the userdevice includes the fingerprint reader without being incorporated with abutton. For example, the fingerprint reader may be incorporated into thehousing of the user device.

When the user operates or touches the button, the hidden setup processobtains a fingerprint sample of the user. For example, the hidden setupprocess obtains the fingerprint sample when the user turns off the userdevice. Additionally, or alternatively, the hidden setup process obtainsthe fingerprint sample when the user places his or her finger on thebutton when simply holding the user device in his or her hand. As aresult, the hidden setup process obtains a fingerprint sample (e.g., oneor multiple fingerprint samples) from the user without the user'sknowledge and without the user invoking the normal setup process.

According to an exemplary embodiment, the hidden setup process obtains“partial” fingerprint samples. For example, due to the size of afingerprint reader relative to the size of the user's finger, a smallportion or slice of the user's finger is sampled (i.e., a partialfingerprint sample). According to other embodiments, due to the size ofthe fingerprint reader, the hidden setup process obtains “full”fingerprint samples that are of sizes or areas equivalent to or nearlyequivalent to a fingertip area of a person's finger or the entirefinger.

According to an exemplary embodiment, the hidden setup processaggregates partial fingerprint samples. For example, the hidden processidentifies matching portions (e.g., overlapping portions) betweendifferent partial fingerprint samples. Based on the identification ofmatching portions, the hidden setup process generates a more “complete”or “whole” fingerprint sample, as described further below.

According to other embodiments, the hidden setup process obtains abiometric sample via other components of the user device. For example,an eye tracker device may automatically obtain an eye (e.g., retinal)sample of the user as the user's looks at a display of the user device,without the user's knowledge and without the user invoking the normalsetup process. Additionally, or alternatively, for example, a voicecapture device may automatically obtain a vocal sample of the user(e.g., during a telephone call) without the user's knowledge and withoutthe user invoking the normal setup process.

Unlike the normal setup process, the hidden setup process may obtainfingerprint samples from different fingers (including thumbs) since theuser is not prompted, such as during a normal process setup scenario, toprovide a fingerprint sample. Additionally, the normal setup process mayrequest multiple fingerprint samples from the same finger of the userand perhaps even specify the finger to use (e.g., use the index finger,etc.). However, as previously mentioned, this is in contrast to what mayoccur during the hidden setup process.

In some cases, the user device may be used by a single user. The hiddensetup process may obtain this information (e.g., whether the user devicewill be used by a single user or multiple users) in various ways. Forexample, during initialization, setup, and/or configuration of the userdevice, the user device may request or determine whether a single useror multiple users use the user device.

According to an exemplary embodiment, the hidden setup process generatesone or multiple fingerprint templates for the user based on afingerprint sampling pattern. For example, a user may use the samefinger to turn off, via the button, the user device. Additionally, forexample, during times between boot-up and shutdown of the user device,the user may grasp the user device in his or her hand such that the samefinger or the same set of fingers from which a fingerprint sample may beobtained, is relatively consistent. The hidden setup process is able toidentify the fingerprint sampling pattern stemming from the re-occurringsampling of the same set of fingers (e.g., one or multiple fingers)belonging to the user over a period of time. For example, the hiddensetup process may compare fingerprint samples (or data representative ofthe fingerprint samples), which are stored (e.g., in a database or adata structure), to one another to determine whether the fingerprintsamples pertain to a same finger of the user. The hidden setup processmay identify the fingerprint sampling pattern based on one or multiplethreshold values being satisfied, such as a threshold number offingerprint samples being collected that belong to the same finger ofthe user, a threshold number of fingerprint samples being collected thatbelong to the same user, a threshold time period to collect fingerprintsamples, a threshold quality of the fingerprint samples, and/or athreshold frequency of fingerprint samples belonging to the same fingerof the user and/or the same user.

Additionally, or alternatively, the hidden setup process generates afingerprint template based on a determination that an aggregation ofpartial fingerprint samples constitutes a “whole” or “sufficient”fingerprint sample. For example, as previously described, the hiddensetup process may obtain partial fingerprint samples and generate afingerprint sample (e.g., sufficient for performing authentication)based on the aggregation of the partial fingerprint samples. Accordingto an exemplary implementation, the hidden setup process determineswhether to generate a fingerprint template based on whether theaggregation of partial fingerprint samples is representative of a“whole” or “sufficient” fingerprint sample. For example, the hiddensetup process may use a threshold value that indicates a minimum area orsize corresponding to a “whole” fingerprint sample. The hidden setupprocess may compare the size or the area yielded from the aggregated,partial fingerprint samples to the threshold value. Based on thecomparison, the hidden setup process determines whether the aggregationof partial fingerprint samples constitutes a “whole” fingerprint sample.

Additionally, or alternatively, the hidden setup process may generatethe fingerprint template based on the aggregation of partial fingerprintsamples and an identification of the fingerprint sampling pattern, asdescribed above.

The hidden setup process selects the set of fingerprint samples to useto generate one or multiple fingerprint templates. For example, thehidden setup process may identify the most detected finger from whichthe fingerprint samples pertain or identify multiple fingers thatsatisfy a threshold value. In this way, after the fingerprintidentification service is activated on the user device, and the user maynot know which finger was used to generate the fingerprint template,there is a high probability that the user will naturally use the correctfinger to gain access and use of the user device since the fingerprinttemplate is based on the fingerprint sampling pattern.

In some cases, the user device is used by multiple users, which canfurther complicate matters since different fingerprint samples maybelong to the same user using different fingers or belong to differentusers.

According to an exemplary embodiment, the hidden setup process obtainsand stores fingerprint samples within a certain time window. Forexample, the time window may span between after boot-up of the userdevice is completed to the turning off of the user device, or span fromwhen the user device is in an active state to when the user deviceenters another state (e.g., idle, sleep, etc.), or some otherconfigurable time window. According to another exemplary implementation,the time window is a default time period. For example, the default timeperiod may be for one hour, two hours, or some other time period. Thedefault time period may begin to run from a particular triggering event.For example, the triggering event may be after boot-up is completed orany other configurable triggering event (e.g., user action, such asstart-up of an application, access to another device (e.g., a server,etc.) via the user device, etc.). In this way, there is a highprobability that the same user is operating the user device during theparticular time window and the fingerprint sample(s) that is/areobtained during the time window belong to the same user.

According to an exemplary embodiment, the hidden setup process maps thefingerprint template to a particular user based on fingerprint samplesobtained during a time window, as previously described above. Accordingto another exemplary embodiment, the hidden setup process maps thefingerprint template to a particular user based on fingerprint samplesobtained during a time window and the fingerprint sampling pattern.

According to an exemplary embodiment, when the hidden setup process iscompleted, the user device notifies the user that the biometric securityservice can be activated. For example, the device may notify the uservia a visual cue, an auditory cue, and/or a tactile cue (e.g., a hapticcue or a vibrational cue). By way of further example, the user devicemay notify the user via a graphical element (e.g., an icon, etc.), agraphical user interface (e.g., a pop-up message, a menu, etc.), a vocalmessage, and/or vibration, that a fingerprint identification service canbe activated.

According to an exemplary embodiment, the user device permits the userto initiate the normal setup process regardless of whether the hiddensetup process has been initiated and/or completed. According to anexemplary embodiment, the normal setup process obtains a biometricsample obtained from the hidden setup process, if available. Forexample, the normal setup process may obtain a fingerprint template or afingerprint sample that has been stored during the hidden setup upprocess. This may occur, for example, when the hidden setup process hasnot been fully completed or the fingerprint identification service hasnot been activated, and the user initiates the normal setup process. Inthis way, the normal setup process may expedite and forgo obtaining afingerprint sample and/or generating a fingerprint templateunnecessarily. Alternatively, according to another exemplary embodiment,the normal setup process automatically deletes any and all fingerprintdata obtained during the hidden setup process.

FIG. 1A is a diagram of an exemplary user device 100 in which exemplaryembodiments described herein may be implemented. While illustrativelyspeaking based on FIG. 1A, user device 100 may be representative of, forexample, a smartphone, a cellphone, or a personal digital assistant(PDA), user device 100 may be implemented as various other types of userdevices. For example, user device 100 may take the form of a tabletdevice, a data organizer, a picture capturing device, a video capturingdevice, a Web-access device, a computer, a palmtop device, a netbook, agaming device, a location-aware device, a music playing device, or someother type of consumer device. Alternatively, user device 100 may beimplemented as a non-consumer device, a non-mobile device, or any otherform of an electronic device.

As illustrated in FIG. 1A, user device 100 comprises a housing 105, amicrophone 110, a speaker 115, a button 120, and a display 125. Asdescribed further below, button 120 comprises a fingerprint reader.

According to other embodiments, user device 100 may comprise fewercomponents, additional components, different components, and/or adifferent arrangement of components than those illustrated in FIG. 1Aand described herein. For example, user device 100 may include a port(e.g., a headphone port, a Universal Serial Bus (USB) port, a HighDefinition Multimedia Interface (HDMI) port, or some other type of inputport and/or output port, etc.), a camera, a keypad, a keyboard, abiometric reader (e.g., retina, etc), etc. Additionally, oralternatively, user device 100 may take the form of a differentconfiguration (e.g., a slider, a clamshell, a swivel, etc.) than theconfiguration illustrated in FIG. 1A. Also, according to otherembodiments, button 120 does not comprise a fingerprint reader. Rather,a portion of housing 105 comprises the fingerprint reader.

Housing 105 comprises a structure to contain components of user device100. For example, housing 105 may be formed from plastic, metal, or someother type of material. Housing 105 may support microphone 110, speaker115, button 120, and display 125.

Microphone 110 is capable of transducing a sound wave to a correspondingelectrical signal. For example, a user may speak into microphone 110during a telephone call or to execute a voice command. Speaker 115 iscapable of transducing an electrical signal to a corresponding soundwave. For example, the user may listen to music or listen to a callingparty through speaker 115.

Button 120 provides an input to user device 100. Button 120 may providea single or dedicated function (e.g., fingerprint reading) or multiplefunctions. For example, button 120 may provide fingerprint reading andpowering on and off of user device 100. Alternatively, button 120 mayprovide fingerprint reading and performing a camera function, volumecontrol, and/or some other type of function (e.g., waking up user device100, causing a dark display to become active, etc.). Button 120 may be ahardware button. For example, button 120 may be a push-button.Additionally, or alternatively, button 120 may be a capacitive-touchbutton. As previously described, according to an exemplary embodiment,button 120 includes a fingerprint reader (also known in the art as afingerprint scanner or a fingerprint sensor).

As previously described, according to other embodiments, the fingerprintreader is not incorporated or implemented as a button. For example, thefingerprint reader may be incorporated into housing 105. According tosuch an embodiment, the fingerprint reader is situated in a locationthat lends itself to obtain a fingerprint from the user during usage ofuser device 100. For example, the location may be on a side of userdevice 100 where the user would naturally place his or her finger whenholding user device 100 in his or her hand (e.g., left hand and/or righthand).

Display 125 operates as an output component. For example, display 125may comprise a liquid crystal display (LCD), a plasma display panel(PDP), a field emission display (FED), a thin film transistor (TFT)display, or some other type of display technology (e.g., organic LED(OLED), active matrix OLED (AMOLED), etc). Display 125 is capable ofdisplaying text, pictures, video, various images (e.g., icons, objects,etc.). Display 125 may also be capable of providing haptic or tactilefeedback.

Additionally, display 125 may operate as an input component. Forexample, display 125 may comprise a touch-sensitive screen. Display 125may be implemented using a variety of sensing technologies, such ascapacitive sensing, surface acoustic wave sensing, resistive sensing,optical sensing, pressure sensing, infrared sensing, or gesture sensing.In such instances, display 125 may operate as a single-point inputdevice (e.g., capable of sensing a single touch) or a multipoint inputdevice (e.g., capable of sensing multiple touches that occur at the sametime). Additionally, or alternatively, display 125 may comprise atouchless screen (e.g., having air-touch, air-gesture capabilities).FIG. 1B is diagram illustrating another view of user device 100.

FIG. 2A is a diagram illustrating exemplary components of user device100. As illustrated, user device 100 includes a processor 205, amemory/storage 210, software 215, a communication interface 220, aninput 225, and an output 230. According to other embodiments, userdevice 100 may include fewer components, additional components,different components, and/or a different arrangement of components thanthose illustrated in FIG. 2A and described herein.

Processor 205 includes one or multiple processors, microprocessors, dataprocessors, co-processors, and/or some other type of component thatinterprets and/or executes instructions and/or data. Processor 205 maybe implemented as hardware (e.g., a microprocessor, etc.) or acombination of hardware and software (e.g., a system-on-chip (SoC), anapplication-specific integrated circuit (ASIC), etc.). Processor 205performs one or multiple operations based on an operating system and/orvarious applications or programs (e.g., software 215).

Memory/storage 210 includes one or multiple memories and/or one ormultiple other types of storage mediums. For example, memory/storage 210may include a random access memory (RAM), a dynamic random access memory(DRAM), a cache, a read only memory (ROM), a programmable read onlymemory (PROM), and/or some other type of memory. Memory/storage 210 mayinclude a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, a solid state disk, etc.).

Software 215 includes an application or a program that provides afunction and/or a process. Software 215 may include firmware. By way ofexample, software 215 may comprise a telephone application, amulti-media application, an e-mail application, a contacts application,a calendar application, an instant messaging application, a web browsingapplication, a location-based application (e.g., a Global PositioningSystem (GPS)-based application, etc.), a camera application, etc.Software 215 includes an operating system (OS). For example, dependingon the implementation of user device 100, the operating system maycorrespond to iOS, Android, Windows Phone, Symbian, or another type ofoperating system (e.g., proprietary, BlackBerry OS, Windows, Linux,etc.). According to an exemplary embodiment, software 215 includes anapplication that, when executed, provides a hidden fingerprint setup, asdescribed herein. Additionally, according to an exemplary embodiment,software 215 includes an application that, when executed, provides anormal fingerprint setup. According to other embodiments, software 215includes an application that, when executed, provides a hidden setup anda normal setup for another type of biometric security service.

Communication interface 220 permits user device 100 to communicate withother devices, networks, systems, etc. Communication interface 220 mayinclude one or multiple wireless interfaces and/or wired interfaces.Communication interface 220 may include one or multiple transmitters,receivers, and/or transceivers. Communication interface 220 operatesaccording to one or multiple protocols, communication standards, and/orthe like.

Input 225 permits an input into user device 100. For example, input 225may include a button, a switch, a touch pad, an input port, speechrecognition logic, and/or a display (e.g., a touch display, a touchlessdisplay). According to an exemplary embodiment, input 225 includes afingerprint reader. According to other embodiments, input 225 includesanother type of biometric device. Output 230 permits an output from userdevice 100. For example, output 230 may include a speaker, a display, alight, an output port, and/or some other type of output component.

User device 100 may perform a process and/or a function in response toprocessor 205 executing software 215 stored by memory/storage 210. Byway of example, instructions may be read into memory/storage 210 fromanother memory/storage 210 or read into memory/storage 210 from anotherdevice via communication interface 220. The instructions stored bymemory/storage 210 causes processor 205 to perform the process or thefunction. Alternatively, user device 100 may perform a process or afunction based on the operation of hardware (processor 205, etc.).

FIG. 2B is a diagram illustrating exemplary components of an exemplaryembodiment of a fingerprint system 250. As illustrated, fingerprintsystem 250 includes a fingerprint reader 255, a matching algorithm 260,a hidden setup 265, and a normal setup 270. According to otherembodiments, fingerprint system 250 may include additional components,different components, and/or a different arrangement of components thanthose illustrated in FIG. 2B and described herein. The connectionsbetween the components are exemplary. Additionally, according to otherembodiments, similar components directed to other forms of biometrics(e.g., vocal, retinal, etc.) may be implemented, in which a reader, amatching algorithm, a hidden setup, and a normal setup are included in abiometric system.

Fingerprint reader 255 includes a fingerprint scanner, a fingerprintsensor, or a fingerprint detector that captures fingerprint data. Forexample, fingerprint reader 255 may include any suitable fingerprintsensor such as an optical sensor, a passive capacitance sensor, anactive capacitance sensor, or an ultrasonic sensor. In some embodiments,fingerprint reader 255 may be a touch-based or non-swipe basedfingerprint sensor. According to an exemplary embodiment, button 120includes fingerprint reader 255. According to another exemplaryembodiment, button 120 does not include fingerprint reader 255. Rather,housing 105 includes fingerprint reader 255.

According to an exemplary embodiment, fingerprint reader 255 captures apartial fingerprint sample of the user's finger. For example, referringto FIG. 1B, due to the depth or thickness of user device 100 and thelocation of button 120, fingerprint reader 255 may include a fingerprintsensor area that is smaller (e.g., width-wise and/or length-wise)relative to the size of a user's finger from which a sample is captured.In this regard, when a sample is captured, the sample may represent arelatively small portion or slice of the user's finger (i.e., a partialfingerprint of the user's finger) compared to fingerprint readers thathave a larger fingerprint sensor area (e.g., equivalent or nearlyequivalent to a fingertip area of a person's finger or the entire finger(e.g., index finger, etc)). For purposes of ease of description, thephrase “fingerprint sample” is intended to also mean “partialfingerprint sample.”

According to such an embodiment, fingerprint reader 255 includes logicto aggregate a number of partial fingerprint samples. In this way,fingerprint reader 255 may generate a more “complete” or “whole”fingerprint sample that represents a larger portion of the user's fingerthan the partial fingerprint sample. According to an exemplaryimplementation, fingerprint reader 255 uses an algorithm similar to amatching algorithm (e.g., a pattern-based, an image-based, etc.) toidentify matching portions between partial fingerprint samples. Thesematching portions represent an overlap. For example, on differentoccasions of usage of user device 100, the user may place a differentarea and a same area of his or her finger on button 120. Additionally,while grasping user device 100, the user's finger may move slightly sothat fingerprint reader 255 can capture different areas of the user'sfingers. As previously described, there is a likelihood that the userwill operate button 120 or grasp user device 100 using the same set offingers. In this regard, fingerprint reader 255 is likely to identifymatching portions between partial fingerprint samples and be able togenerate a more “complete” or “whole” fingerprint sample based on anaggregation of partial fingerprint samples. Since there may bedifferences between partial fingerprint samples or fingerprint samplesdue to variability in displacement, rotation, scanned regions, etc.,which may be due to the physical placement of a finger, pressure offinger during placement, etc., fingerprint reader 255 includes logic(e.g., minutiae-based matching, non-minutiae feature-based matching,etc.) that provides alignment and matching.

Fingerprint reader 255 may obtain fingerprint data based on an “alwayson” criteria prior to and/or after the activation of the fingerprintidentification service. That is, whenever user device 100 is powered on,fingerprint reader 255 may obtain a fingerprint sample from the user.Alternatively, prior to activation of the fingerprint identificationservice, fingerprint reader 255 may obtain a fingerprint sample based onan activation (e.g., a command) from hidden setup 265. For example,fingerprint reader 255 may obtain a fingerprint sample from the userduring a time window, as previously described. Additionally, fingerprintreader 255 may obtain a fingerprint sample based on an activation fromnormal setup 270. According to an exemplary implementation, fingerprintreader 255 stores fingerprint samples in a secure manner usingencryption. Additionally, fingerprint reader 255 may store fingerprintsamples in a database or a data structure. Fingerprint reader 255 alsocaptures a candidate fingerprint from a user after the fingerprintidentification service is activated, which can be used by matchingalgorithm 260 to determine whether the candidate fingerprint matches thefingerprint template.

Fingerprint reader 255 includes logic to generate a fingerprint template(also known in the art as a fingerprint signature) based on thefingerprint samples captured. For example, fingerprint reader 255generates a fingerprint template based on identifying a fingerprintsampling pattern, as previously described herein. Additionally, oralternatively, fingerprint reader 255 generates a fingerprint templatebased on a determination that an aggregation of partial fingerprintsamples constitutes a more complete or whole fingerprint sample, aspreviously described. Fingerprint reader 255 may map a fingerprinttemplate to a user. According to an exemplary implementation,fingerprint reader 255 stores the fingerprint template in a securemanner using encryption. Additionally, fingerprint reader 255 may storethe fingerprint template in a database or a data structure. Fingerprintreader 255 may signal or communicate to hidden setup 265 that thefingerprint template has been generated.

Matching algorithm 260 includes logic to compare a stored fingerprinttemplate or signature against a candidate fingerprint obtained from theuser when the fingerprint identification service is activated. Thestored fingerprint template may have been generated based on the hiddensetup process, the normal setup process, or both. Based on thecomparison between the fingerprint template and the candidatefingerprint, matching algorithm 260 determines whether a match exists.When a match exists, the user is verified or authenticated. When a matchdoes not exist, the user is not verified or authenticated. Matchingalgorithm 260 may cause the user to be granted or denied usage and/oraccess of user device 100 based on a result of the comparison.

Matching algorithm 260 may be implemented as a pattern-based algorithmor an image-based algorithm. For example, the pattern-based algorithmmay compare fingerprint patterns (e.g., arch, whorl, and loop) between astored fingerprint template and the candidate fingerprint. The storedfingerprint template may include various attributes, such as type, size,and orientation of patterns. Alternatively, matching algorithm 260 maybe implemented as a minutia-based algorithm. For example, matchingalgorithm 260 may compare several minutia points (e.g., ridge ending,bifurcation, and short ridge) extracted from a template image, whichserve as the template, with those features extracted from a candidatefingerprint image. Matching algorithm 260 may determine a degree (e.g.,a number of minutia points or other feature) in which the fingerprinttemplate and the candidate fingerprint match. For example, matchingalgorithm 260 may determine a level of similarity (difference or hammingdistance). Matching algorithm 260 may make a decision based on a scoreand its relationship (above or below) relative to a predeterminedthreshold.

Hidden setup 265 includes logic to automatically invoke a hidden setupprocess during the user's usage of user device 100. For example, hiddensetup 265 may invoke the hidden setup process during a time that theuser has not invoked a “normal” setup process (e.g., via normal setup270) and/or the fingerprint identification service of user device 100has not been activated. For example, hidden setup 265 may determinewhether the user has requested the normal setup process (e.g., vianormal setup 270). According to an exemplary embodiment, hidden setup265 includes logic to activate fingerprint reader 255 and causefingerprint reader 255 to obtain fingerprint samples. For example,hidden setup 265 may activate and deactivate fingerprint reader 255based on a time window.

According to an exemplary embodiment, hidden setup 265 informs and/orprompts the user that the fingerprint identification service can beactivated based on receiving an indication from fingerprint reader 255that a fingerprint template has been generated. For example, hiddensetup 265 may notify and/or prompt the user via various forms ofnotifications, such as a visual notification, an auditory notification,and/or a haptic/vibrational notification. By way of further example, avisual notification may include a graphical element included in a systemtray or a notification area that indicates to the user that thefingerprint identification service can be activated. Additionally, oralternatively, hidden setup 265 may notify the user via a menu (e.g., asettings menu, etc.,) or via an icon (e.g., an icon displayed on amain/home screen of user device 100, etc.).

According to an exemplary embodiment, when the user wishes to activatethe fingerprint identification service based on the indication or theprompt, hidden setup 265 activates the fingerprint identificationservice. According to an exemplary embodiment, the activation processincludes a verification process. For example, in case multiple users useuser device 100, hidden setup 265 may prompt the user to verify that thefingerprint template belongs to that user. Additionally, oralternatively, the verification process may be performed even in case ofa single user. By way of example, the user may be presented with a GUIto verify that the fingerprint template belongs to the user. The GUI mayalso provide historical data pertaining to the fingerprint template,such as the day and the time fingerprint samples were obtained.Additionally, or alternatively, the GUI may prompt the user to provide afingerprint sample. Matching algorithm 260 determines whether a matchexists between the fingerprint sample and the fingerprint template. If amatch does not exist, the user may be required to provide additionalfingerprint samples so that a fingerprint template can be generated.Alternatively, the user may be asked whether he or she would like tobegin a normal setup process. If matching algorithm 260 determines thata match exists between the fingerprint sample and the fingerprinttemplate, the verification process is completed and the fingerprintidentification service is activated.

After the verification process or activation of the fingerprintidentification service, hidden setup 265 may provide various GUIs toallow the user to indicate any user preferences pertaining to thefingerprint identification service. For example, the user may wish tohave the fingerprint identification service activated only in certainlocations (e.g., work, outside the home, etc.), during certain times ofday, when user device 100 operates in a particular mode (e.g., a workmode, etc.), etc.

Normal setup 270 includes logic that provides for a user-invoked, setupprocess that allows the user to unlock a fingerprint identificationservice. By way of further example, the user may access, via a graphicaluser interface (GUI), a settings screen or select an icon to initiatethe setting up of the fingerprint identification service. Thereafter,the normal setup process may include prompting the user to provide oneor multiple samples of his or her fingerprint. The user may be informed,via a GUI, when fingerprint system 250 has received a sufficient numberof and/or satisfactory sampling of the user's fingerprint. The user maythen have the option to activate the fingerprint identification service.The normal setup process may also offer various GUIs to allow the userto indicate any user preferences pertaining to the fingerprintidentification service.

According to an exemplary embodiment, the user may invoke and complete,at any time, the normal setup process. According to an exemplaryembodiment, hidden setup 265 deletes any stored fingerprint samplesbased on the user's initiation of the normal setup process via normalsetup 270. According to another exemplary embodiment, normal setup 270may inform the user, via a GUI, that a fingerprint sample has beenobtained through the hidden setup process and may be used to facilitatethe setting up of the fingerprint identification service through thenormal setup process. The user may accept or decline. When the useraccepts, normal setup 270 uses the fingerprint sample (or fingerprinttemplate) to complete the normal setup process. When the user declines,normal setup 270 deletes any and all stored fingerprint samples and/orfingerprint template pertaining to the user. Additionally, for example,hidden setup 265 may be disabled to prevent further execution of hiddensetup 265. Normal setup 270 obtains a fingerprint sample, generates afingerprint template, etc., so as to complete the normal setup process.

Although fingerprint system 250 has been described in which particularfunctions are performed by a particular functional element (e.g.,fingerprint reader 255, hidden setup 265, etc.), according to otherembodiments, the particular function may be performed by anotherfunctional element of fingerprint system 250 or a combination offunctional elements.

FIGS. 3A-3G are diagrams illustrating an exemplary process pertaining toan exemplary embodiment of a hidden fingerprint setup. Referring to FIG.3A, assume a user 300 is holding user device 100 in his or her hand.During this time, the thumb of user 300 touches button 120. For example,user 300 touches button 120 while looking at display 125. Also assumethat hidden setup 265 is an application that is running in thebackground. For example, hidden setup 265 is implemented as a daemonapplication that executes upon boot-up of user device 100.

Referring to FIG. 3B, as user 300 touches button 120, fingerprint reader255 captures a fingerprint of user 300 and stores a fingerprint sample.Fingerprint reader 255 determines whether a fingerprint sampling patterncan be identified. According to this example, assume that fingerprintreader 255 identifies the fingerprint sampling pattern (e.g., one ormultiple threshold values have been satisfied). In turn, fingerprintreader 255 generates a fingerprint template and stores the fingerprinttemplate. The fingerprint sample and the fingerprint template may besecurely stored (e.g., encrypted).

In response to the generation of the fingerprint template, hidden setup265 provides a cue to user 300 that the fingerprint identificationservice can be activated. As previously described, hidden setup 265 mayprovide a visual cue, an auditory cue, a haptic cue, etc. Describedbelow are exemplary GUIs pertaining to the activation of the fingerprintidentification service. The graphical elements and the screens of whichthey pertain are purely exemplary.

Referring to FIG. 3C, as previously described, user 300 may be promptedto activate the fingerprint identification service via a home screen.For example, as illustrated, display 125 may display a home screen 310.Home screen 310 may include a desktop area 315 that includes variousicons 317 and a notification area 320. As illustrated, notification area320 may include an icon 323. Icon 323 may be an interactive graphicalelement that, when selected, allows user 300 to complete the setupprocess. Additionally, for example, when user 300 hovers over icon 323,using his or her finger or an instrument (e.g., a stylus), a message 325appears that prompts user 300 to activate the fingerprint identificationservice.

According to this example, assume that user 300 selects icon 323. Inresponse, and referring to FIG. 3D, a pop-up window 330 appears ondisplay 125 that requests whether the user would like to complete thesetup process. Pop-up window 330 may include a “yes” button 332 and a“no” button 333. In the event that user 300 selects “no” button 333,another pop-up window may appear (not illustrated), which indicates thatthe fingerprint template will be securely saved and that the user mayaccess the settings menu for more information. According to thisexample, assume that user 300 selects “yes” button 332.

Referring to FIG. 3E, in response to user 300 selecting “yes” button332, a pop-up window 335 appears that requires confirmation of user 300.For example, pop-up window 335 may prompt user 300 to enter his or hername in an input box 337. User 300 may select an “accept” button 339after entering his or her name. According to this example, assume user300 enters his or her name in input box 337 and selects “accept” button339. According to another exemplary implementation, a GUI (notillustrated) prompts the user to provide a fingerprint sample.Thereafter, matching algorithm 260 may determine whether a match exists,as previously described.

Referring to FIG. 3F, a pop-up window 340 appears that requests whetherto activate the fingerprint identification service now and provides“yes” button 332 and “no” button 333. According to this example, assumeuser 300 selects “yes” button 332. Referring to FIG. 3G, in response touser 300 selecting “yes” button 332, a pop-up window 350 appears thatindicates to user 300 that the fingerprint identification service setupis complete. As further illustrated, pop-up window 350 may also indicatethat user 300 may go the “settings menu” to set user preferences. Forexample, the fingerprint identification service may include various userpreferences, as previously described. According to this example, user300 selects an “exit” button 352 and the fingerprint identificationservice is activated.

According to an exemplary embodiment, after completion of the setupprocess, hidden setup 265 may no longer run as a background applicationof user device 100. According to another exemplary embodiment, hiddensetup 265 may continue to run. For example, when multiple users operateuser device 100 and not all users have completed the setup process,hidden setup 265 may continue to run.

While FIGS. 3A-3G illustrate an exemplary process pertaining to a hiddenfingerprint setup, according to other embodiments, the process mayinclude additional, different, or fewer steps or acts.

FIG. 4 is a flow diagram illustrating an exemplary process 400 toprovide a hidden fingerprint setup. A step or an act described inprocess 400 may be performed by one or multiple components of userdevice 100. For example, processor 205 may execute software 215 toperform the step or the act described and/or a functional element offingerprint system 250 performs the step or the act described.

Referring to FIG. 4, in block 405, a hidden setup of a fingerprintidentification service of a user device is invoked. For example, hiddensetup 265 and fingerprint reader 255 may be configured to automaticallyoperate when a fingerprint identification service is not activated onuser device 100 and normal setup 270 has not been invoked by a user.

In block 410, a fingerprint sample is captured. For example, fingerprintreader 255 captures a fingerprint sample from a user of user device 100.According to various implementations, fingerprint reader 255 may capturethe fingerprint sample based on an “always on” criteria or based on atime window, as previously described. Fingerprint reader 255 stores thefingerprint sample.

In block 415, it is determined whether to generate a fingerprinttemplate. For example, fingerprint reader 255 determines whether togenerate the fingerprint template based on whether a fingerprintsampling pattern can be identified, as previously described.Additionally, or alternatively, fingerprint reader 255 determineswhether to generate the fingerprint template based on whether anaggregation of partial fingerprint samples constitutes a more completeor whole fingerprint sample, as previously described.

If it is determined to not generate the fingerprint template (block415-NO), then process 400 continues to block 410. For example,fingerprint reader 255 captures another fingerprint sample from theuser. For example, fingerprint reader 255 may continue to capturefingerprint samples over a period of time (e.g., a few days, a week,etc.). This is in contrast to a normal setup process that sets up thefingerprint identification service.

If it is determined to generate the fingerprint template (block415-YES), then fingerprint reader 255 generates a fingerprint template(block 420). For example, fingerprint reader 255 selects one or multiplestored fingerprint samples and generates a fingerprint templatepertaining to the user. Fingerprint reader 255 stores the fingerprinttemplate.

In block 425, a notification is provided to the user. For example, inresponse to receiving an indication that the fingerprint template isgenerated, hidden setup 265 provides a notification or a cue to theuser. For example, the notification or the cue may indicate to the userthat the user can activate the fingerprint identification service. Aspreviously described, the notification or the cue may be implemented ina visual, auditory, and/or tactile manner.

In block 430, the fingerprint identification service is activated. Forexample, when hidden setup 265 receives a request from the user, inresponse to the notification or the cue, to activate the fingerprintidentification service, hidden setup 265 activates the fingerprintidentification service. As previously described, the activation processmay include a verification process.

Although FIG. 4 illustrates an exemplary process 400 to provide thehidden fingerprint setup, according to other embodiments, process 400may include additional operations, fewer operations, and/or differentoperations than those illustrated in FIG. 4, and as described.

In the preceding specification, various embodiments have been describedwith reference to the accompanying drawings. However, variousmodifications and changes may be made thereto, and additionalembodiments may be implemented, without departing from the broader scopeof the invention as set forth in the claims that follow. Thespecification and drawings are accordingly to be regarded asillustrative rather than restrictive.

The terms “a,” “an,” and “the” are intended to be interpreted to includeone or more items. Further, the phrase “based on” is intended to beinterpreted as “based, at least in part, on,” unless explicitly statedotherwise. The term “and/or” is intended to be interpreted to includeany and all combinations of one or more of the associated items.

In addition, while a series of blocks has been described with regard tothe process illustrated in FIG. 4, the order of the blocks may bemodified according to other embodiments. Further, non-dependent blocksmay be performed in parallel. Additionally, other processes described inthis description may be modified and/or non-dependent operations may beperformed in parallel.

The embodiments described herein may be implemented in many differentforms of software, firmware, and/or hardware. For example, a process ora function may be implemented as “logic” or as a “component.” This logicor this component may include hardware (e.g., processor 205, a dedicatedprocessor (not illustrated), etc.) or a combination of hardware andsoftware (e.g., software 215). The embodiments have been describedwithout reference to the specific software code since software can bedesigned to implement the embodiments based on the description hereinand the accompanying drawings.

Additionally, embodiments described herein may be implemented as anon-transitory storage medium that stores data and/or information, suchas instructions, program code, data structures, program modules, anapplication, etc. For example, a non-transitory storage medium includesone or more of the storage mediums described in relation tomemory/storage 210.

The terms “comprise,” “comprises” or “comprising,” as well as synonymsthereof (e.g., include, etc.), when used in the specification is meantto specify the presence of stated features, integers, steps, orcomponents but does not preclude the presence or addition of one or moreother features, integers, steps, components, or groups thereof. In otherwords, these terms are to be interpreted as inclusion withoutlimitation.

In the specification and illustrated by the drawings, reference is madeto “an exemplary embodiment,” “an embodiment,” “embodiments,” etc.,which may include a particular feature, structure or characteristic inconnection with an embodiment(s). However, the use of the phrase or term“an embodiment,” “embodiments,” etc., in various places in thespecification does not necessarily refer to all embodiments described,nor does it necessarily refer to the same embodiment, nor are separateor alternative embodiments necessarily mutually exclusive of otherembodiment(s). The same applies to the term “implementation,”“implementations,” etc.

The word “exemplary” is used herein to mean “serving as an example.” Anyembodiment or implementation described as “exemplary” is not necessarilyto be construed as preferred or advantageous over other embodiments orimplementations.

No element, act, or instruction described in the present applicationshould be construed as critical or essential to the embodimentsdescribed herein unless explicitly described as such.

What is claimed is:
 1. A method comprising: invoking, by a user device,a setup of a fingerprint identification service of the user device,wherein the setup automatically sets up the fingerprint identificationservice without receiving a request from a user of the user device toset up the fingerprint identification service, and wherein the setupcomprises: capturing, by the user device, a fingerprint sample of theuser of the user device; storing, by the user device, the fingerprintsample; determining, by the user device, whether to generate afingerprint template; generating, by the user device, the fingerprinttemplate based on determining to generate the fingerprint template;storing, by the user device, the fingerprint template; providing, by theuser device, a notification to the user that indicates that thefingerprint identification service can be activated; receiving, by theuser device, from the user, a request to activate the fingerprintidentification service; and activating, by the user device, thefingerprint identification service based on the request to activate thefingerprint identification service.
 2. The method of claim 1, whereinthe setup is invoked based on a determination that another setup thatsets up the fingerprint identification service is not invoked by theuser, wherein the other setup is invoked based on a request from theuser to set up the fingerprint identification service, and the methodfurther comprising: capturing, by the user device, another fingerprintsample of the user of the user device based on determining to notgenerate the fingerprint template.
 3. The method of claim 1, wherein thecapturing comprises: capturing the fingerprint sample without promptingthe user to provide the fingerprint sample.
 4. The method of claim 1,wherein the fingerprint sample is captured via a button of the userdevice, and wherein after activating the fingerprint identificationservice, the fingerprint identification service governs access to theuser device.
 5. The method of claim 1, wherein determining whether togenerate the fingerprint template comprises at least one of: determiningwhether a fingerprint sampling pattern pertaining to the user can beidentified; or determining whether an aggregation of fingerprint samplesconstitutes a complete fingerprint sample based on a threshold valuethat indicates a minimum area for the complete fingerprint sample. 6.The method of claim 5, further comprising: identifying the fingerprintsampling pattern based on one or more threshold values being satisfied,wherein one of the one or more threshold values includes that athreshold frequency of fingerprint samples belonging to a same finger ofthe user are stored.
 7. The method of claim 1, wherein the activatingfurther comprises: prompting, by the user device, via a graphical userinterface, that the user verify that the fingerprint template belongs tothe user.
 8. A user device comprising: a fingerprint reader; a memory,wherein the memory stores software; and a processor, wherein theprocessor is configured to execute the software to: invoke a setup of afingerprint identification service of the user device, wherein the setupautomatically sets up the fingerprint identification service withoutreceiving a request from a user to set up the fingerprint identificationservice, and wherein the processor is further configured to execute thesoftware to: capture, via the fingerprint reader, a fingerprint sampleof the user of the user device based on an invocation of the setup;store the fingerprint sample; determine whether to generate afingerprint template; generate the fingerprint template based on adetermination to generate the fingerprint template; store thefingerprint template; provide a notification to the user that indicatesthat the fingerprint identification service can be activated; receive arequest to activate the fingerprint identification service from theuser; and activate the fingerprint identification service based on therequest to activate the fingerprint identification service.
 9. The userdevice of claim 8, further comprising: a button, wherein the buttoncomprises the fingerprint reader, and wherein the processor is furtherconfigured to execute the software to: aggregate partial fingerprintsamples, wherein the fingerprint sample is one of the partialfingerprint samples; determine whether an aggregation of the partialfingerprint samples constitutes a complete fingerprint sample based on athreshold value that indicates a minimum area of the completefingerprint sample; and generate the fingerprint template based on adetermination that the aggregation of the partial fingerprint samplesconstitutes the complete fingerprint sample.
 10. The user device ofclaim 8, wherein, when capturing the fingerprint sample, the processoris further configured to execute the software to: capture thefingerprint sample without prompting the user to provide the fingerprintsample.
 11. The user device of claim 8, wherein, when determiningwhether to generate the fingerprint template, the processor is furtherconfigured to execute the software to: determine whether a fingerprintsampling pattern pertaining to the user can be identified based on oneor more threshold values being satisfied.
 12. The user device of claim11, wherein one of the one or more threshold values include that athreshold frequency of fingerprint samples belonging to a same finger ofthe user are captured.
 13. The user device of claim 8, wherein theprocessor is further configured to execute the software to: map thefingerprint template to one of multiple users of the user device,wherein the user is one of the multiple users.
 14. The user device ofclaim 8, wherein the notification comprises a graphical element in anotification area of a home screen.
 15. The user device of claim 8,wherein the user device is a wireless mobile device.
 16. Anon-transitory storage medium that stores instructions executable by aprocessor of a computational device, which when executed, cause thecomputational device to: invoke a setup of a biometric identificationservice of the computational device, wherein the setup automaticallysets up the biometric identification service without receiving a requestfrom a user to set up the biometric identification service; capture abiometric sample of the user of the computational device; store thebiometric sample; determine whether to generate a biometric template;generate the biometric template based on a determination to generate thebiometric template; store the biometric template; provide a notificationto the user that indicates that the biometric identification service canbe activated; receive a request to activate the biometric identificationservice from the user; and activate the biometric identification servicebased on the request to activate the biometric identification service.17. The non-transitory storage medium of claim 16, wherein the biometricidentification services comprises a fingerprint identification service.18. The non-transitory storage medium of claim 16, wherein the biometricsample includes a fingerprint sample, and wherein the instructions tocapture comprise instructions to: capture the fingerprint sample withoutprompting the user to provide the fingerprint sample.
 19. Thenon-transitory storage medium of claim 16, wherein the biometrictemplate includes a fingerprint template, and wherein the instructionsto determine whether to generate the fingerprint template compriseinstructions to: determine whether a fingerprint sampling patternpertaining to the user can be identified.
 20. The non-transitory storagemedium of claim 19, the instructions comprise instructions to: identifythe fingerprint sampling pattern based on one or more threshold valuesbeing satisfied, wherein one of the one or more threshold valuesincludes that a threshold frequency of fingerprint samples belonging toa same finger of the user are stored.